package com.xique.park.bean.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xique.common.datascope.annotation.NeedSetDictParam;
import lombok.Data;
import com.xique.common.core.annotation.Excel;

import java.util.Date;

/**
 * 通道对象 t_park_lane
 *
 * @author xique
 * @date 2021-12-09
 */
@Data
@TableName(value = "t_park_lane")
public class ParkLane {

    private static final long serialVersionUID = 1L;

    /**
     * 自动增量
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 所属停车场ID
     */
    @Excel(name = "所属停车场ID")
    private Long parkId;

    /**
     * 车库ID
     */
    @Excel(name = "车库ID")
    private Long garageId;

    /**
     * 通道名称
     */
    @Excel(name = "通道名称")
    private String name;

    /**
     * 通道类型（1-入口 2-出口3-共用）
     */
    @Excel(name = "通道类型", readConverterExp = "1=-入口,2=-出口3-共用")
    private String laneType;

    /**
     * 工作模式：1-标准模式 2-地感模式 3-车牌防伪模式
     */
    @Excel(name = "工作模式：1-标准模式 2-地感模式 3-车牌防伪模式")
    private String model;

    /**
     * 相同车牌处理间隔
     */
    @Excel(name = "相同车牌处理间隔")
    private Long samePlateInterval;

    /**
     * 临时车通行权限：1-自动放行 2-人工干预 3-不允许通行
     */
    @Excel(name = "临时车通行权限：1-自动放行 2-人工干预 3-不允许通行")
    private String tempcarPassAuth;

    /**
     * 允许通行时可设置是否干预（可全天干预或设置最多两个时间段干预）,两个时间段用;分割
     */
    @Excel(name = "允许通行时可设置是否干预", readConverterExp = "可=全天干预或设置最多两个时间段干预")
    private String tempcarPasstime;

    /**
     * 岗亭离线临时车干预：1-自动放行 2-人工干预
     */
    @Excel(name = "岗亭离线临时车干预：1-自动放行 2-人工干预")
    private String tempcarStopoutAutopass;

    /**
     * 过期固定车干预：1-自动放行 2-人工干预
     */
    @Excel(name = "过期固定车干预：1-自动放行 2-人工干预")
    private String overdueMonthcarAutopass;

    /**
     * 车位满固定车干预：1-自动放行 2-人工干预
     */
    @Excel(name = "车位满固定车干预：1-自动放行 2-人工干预")
    private String lotfullMonthcarAutopass;

    /**
     * 车位满临时车干预：1-自动放行 2-人工干预
     */
    @Excel(name = "车位满临时车干预：1-自动放行 2-人工干预")
    private String lotfullTempcarAutopass;

    /**
     * 临时车出场计费0元是否干预：1-自动放行 2-人工干预
     */
    @Excel(name = "临时车出场计费0元是否干预：1-自动放行 2-人工干预")
    private String tempcarZerooutAutopass;

    /**
     * 低音量时间范围
     */
    @Excel(name = "低音量时间范围")
    private String lowVoiceTime;

    /**
     * 低音量值
     */
    @Excel(name = "低音量值")
    private Long lowVoiceSound;

    /**
     * 高音量时间范围
     */
    @Excel(name = "高音量时间范围")
    private String highVoiceTime;

    /**
     * 高音量值
     */
    @Excel(name = "高音量值")
    private Long highVoiceSound;

    /**
     * 是否LED显示（Y-是 N-否）
     */
    @Excel(name = "是否LED显示", readConverterExp = "Y=-是,N=-否")
    private String isLed;

    /**
     * 显示屏行数
     */
    @Excel(name = "显示屏行数")
    private Integer monitorRows;

    /**
     * 有车显示类型1-剩余车位数 2-车牌 3-管理类型 4- 自定义 5-车牌号+管理类型 6-管理类型+自定义
     */
    @Excel(name = "有车显示类型1-剩余车位数 2-车牌 3-管理类型 4- 自定义 5-车牌号+管理类型 6-管理类型+自定义 ")
    private String rowCarOne;

    /**
     * 自定义显示内容
     */
    @Excel(name = "自定义显示内容")
    private String rowCarContentOne;

    /**
     * 第二行显示类型
     */
    @Excel(name = "第二行显示类型")
    private String rowCarTwo;

    /**
     * 第二行自定义内容
     */
    @Excel(name = "第二行自定义内容")
    private String rowCarContentTwo;

    /**
     * 第三行显示类型
     */
    @Excel(name = "第三行显示类型")
    private String rowCarThree;

    /**
     * 第三行自定义内容
     */
    @Excel(name = "第三行自定义内容")
    private String rowCarContentThree;

    /**
     * 第四行显示类型
     */
    @Excel(name = "第四行显示类型")
    private String rowCarFour;

    /**
     * 第四行自定义内容
     */
    @Excel(name = "第四行自定义内容")
    private String rowCarContentFour;

    /**
     * 无车显示类型1-剩余车位数 2-车牌 3-管理类型 4- 自定义 5-车牌号+管理类型 6-管理类型+自定义
     */
    @Excel(name = "无车显示类型1-剩余车位数 2-车牌 3-管理类型 4- 自定义 5-车牌号+管理类型 6-管理类型+自定义 ")
    private String rowNoCarOne;

    /**
     * 无车自定义内容
     */
    @Excel(name = "无车自定义内容")
    private String rowNoCarContentOne;

    /**
     * 无车第二行显示
     */
    @Excel(name = "无车第二行显示")
    private String rowNoCarTwo;

    /**
     * 无车第二行自定义
     */
    @Excel(name = "无车第二行自定义")
    private String rowNoCarContentTwo;

    /**
     * 无车第三行自定义
     */
    @Excel(name = "无车第三行自定义")
    private String rowNoCarThree;

    /**
     * 无车第三行内容
     */
    @Excel(name = "无车第三行内容")
    private String rowNoCarContentThree;

    /**
     * 无车第四行
     */
    @Excel(name = "无车第四行")
    private String rowNoCarFour;

    /**
     * 无车第四行内容
     */
    @Excel(name = "无车第四行内容")
    private String rowNoCarContentFour;

    /**
     * led屏类型（1-4*4横屏,2-4*2横屏，3-4*4竖屏）
     */
    @Excel(name = "led屏类型", readConverterExp = "1=-4*4横屏,2-4*2横屏，3-4*4竖屏")
    private String ledType;

    /**
     * led屏显示效果
     */
    @Excel(name = "led屏显示效果")
    private String ledEffect;

    /**
     * 是否显示视频（Y-是 N-否）
     */
    @Excel(name = "是否显示视频", readConverterExp = "Y=-是,N=-否")
    private String isVideo;

    /**
     * 视频窗口大小(默认400*320)
     */
    @Excel(name = "视频窗口大小(默认400*320)")
    private String videoSize;

    /**
     * 是否显示二维码 （Y-是 N-否）
     */
    @Excel(name = "是否显示二维码 ", readConverterExp = "Y=-是,N=-否")
    private String isQrcode;

    /**
     * 是否收费（Y-是 N-否）
     */
    @Excel(name = "是否收费", readConverterExp = "Y=-是,N=-否")
    private String isCharge;

    /**
     * 有人值守 N- 否 Y- 是
     */
    @Excel(name = "有人值守 N- 否 Y- 是")
    private String guard;

    /**
     * 状态（normal-启用 pause-停用）
     */
    @Excel(name = "状态", readConverterExp = "n=ormal-启用,p=ause-停用")
    private String status;

    /**
     * 表记录的状态（normal-正常 delete-删除）
     */
    @Excel(name = "表记录的状态", readConverterExp = "n=ormal-正常,d=elete-删除")
    private String recordStatus;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private Long createUser;

    /**
     * 更新人
     */
    @Excel(name = "更新人")
    private Long updateUser;

    /**
     * 岗亭序列号
     */
    @Excel(name = "岗亭序列号")
    private String clientCode;

    /**
     * 出入口：入口所属车库id
     */
    @Excel(name = "出入口：入口所属车库id")
    private Long inGarageId;

    /**
     * 出入口：出口所属车库id
     */
    @Excel(name = "出入口：出口所属车库id")
    private Long outGarageId;

    /**
     * 通道配置
     */
    @Excel(name = "通道配置")
    private String config;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @Excel(name = "某些通道配置在这里")
    private String remark;

    @TableField(exist = false)
    private String clientId;

    @TableField(exist = false)
    private Integer sort;

    @NeedSetDictParam(dictType = "pk_lane_type", dictValue = "laneType")
    @Excel(name = "通道类型", readConverterExp = "1=-入口,2=-出口3-共用")
    @TableField(exist = false)
    private String laneTypeLabel;

    @NeedSetDictParam(dictType = "pk_lane_model", dictValue = "model")
    @Excel(name = "工作模式", readConverterExp = "工作模式：1-标准模式 2-地感模式 3-车牌防伪模式")
    @TableField(exist = false)
    private String modelLabel;

    @TableField(exist = false)
    private String laneQrcode;

    @TableField(exist = false)
    private String garageName;
}
